<template>
	<view class="balance-record white-bg">
		<mescroll-body ref="mescrollRef" :up="upOption" @init="mescrollInit" @down="downCallback" @up="upCallback">
			<u-cell    v-for="item in dataList" :key="item.id">
				<template #title>
					充值了 <text style="color: #f20;">{{ item.rechargeMoney }}</text> 元
				</template>
				<template #label>
					<text class="give-time">充值时间:{{ item.createdAt }}</text>
				</template>
			</u-cell>
		</mescroll-body>
	</view>
</template>

<script>
import MescrollMixin from '@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js';
export default {
	mixins: [MescrollMixin], // 使用mixin
	data() {
		return {
			// 分页配置
			upOption: {
				textNoMore: '没有更多了',
				noMoreSize: 1,
				empty: {
					icon: require('@/static/image/empty/icon-baobiao.png'),
					tip: '暂无充值信息',
					fixed: true,
					top: '300rpx'
				},
				toTop: {
					safearea: true
				}
			},
			searchInfo: {
				giveType: 1
			}, // 查询的条件
			dataList: [] // 记录的列表
		};
	},
	methods: {
		// 获取优惠券列表
		async upCallback(page) {
			this.searchInfo.page = page.num; // 页码, 默认从1开始
			this.searchInfo.limit = page.size; // 页长, 默认每页10条
			const res = await this.$api.rechargeRecord.rechargeRecordList(this.searchInfo);
			if (res.data.list) {
				res.data.list.map(item => {
					const newTime = parseInt(new Date() / 1000); // 当前时间
					const expirationTime = parseInt(new Date(item.expirationTime) / 1000); // 过期时间
					item.expirationStatus = newTime > expirationTime ? true : false; // 当前时间大于过期时间说明该优惠券已过期 为ture
				});
			}
			const curPageData = res.data.list ? res.data.list : [];
			let curPageLen = curPageData.length;

			//设置列表数据
			if (page.num == 1) this.dataList = []; //如果是第一页需手动置空列表
			this.dataList.push(...curPageData); //追加新数据

			//后台接口有返回列表的总页数 totalPage
			this.mescroll.endBySize(curPageLen, res.data.countNum);
		},
		changeNav(info) {
			this.searchInfo.giveType = info.id;
			this.mescroll.resetUpScroll();
		}
	}
};
</script>

<style lang="scss">
.balance-record {
	.price-text {
		color: #f20;
		font-size: 32rpx;
		font-weight: bold;
	}
	.give-time {
		font-size: 22rpx;
		margin-top: 10rpx;
		color: #333;
	}
	.give-text {
		color: #333;
		font-size: 22rpx;
	}
}
</style>
